There are many situations in which an individual user or an organization may desire to lease one or more server computer systems on a short or long-term basis. Examples include educational or classroom services, demonstration of software to potential users or buyers, website server applications, etc. The servers may be pre-configured with selected operating systems and application software as desired. Although physical servers may be leased and physically delivered for onsite use, servers may also be leased from a central or remote location and accessed via an intermediate network system, such as the Internet. The primary considerations for remote access include the capabilities of the remote access software and the network connection or interface.
Remote access technology is known and many variations exist, such as Microsoft Terminal Server, Citrix MetaFrame, Symantec pcAnywhere, VMware Remote Console, etc. In general, local client software operates on a client computer that enables communication with server software operating on a server computer. Generally, the client software provides keyboard and mouse commands and receives video and audio information and there is little or no local client processing necessary. Server providers may also desire to share a single physical server among multiple users to more efficiently utilize server resources. Many remote access systems enable multiple access by simultaneously activating separate user sessions. Although some files may be shared, other files or directories or even disk drives may have permission-based attributes so that only authorized persons have access. The same may be true for other physical or software resources existing on or coupled to the physical server. Although multiple access to a single physical server has many benefits, it may be desired to provide a greater degree of isolation between or independence among the users for a variety of reasons, such as, for example, improved security. Also, each user may be detrimentally affected by activities of or problems caused by one or more other users. If any user causes accidental or intentional shutdown of the physical computer or any physical resources associated therewith, or uploads a virus or the like, all users may be detrimentally affected.
One solution is the use of virtualization technology that enables multiple servers to operate on a single physical computer. One means of utilizing such virtualized servers (or simply, “virtual servers”) is by use of a cloud computing environment. Cloud computing is a style of computing in which dynamically scalable and virtualized resources are provided as a service over the Internet. Users need not have knowledge of, expertise in, or control over the technology infrastructure in the cloud that supports them. The cloud computing concept incorporates infrastructure as a service (laaS), platform as a service (PaaS) and software as a service (SaaS) as well as Web 2.0 and other technology trends that have the common theme of reliance on the Internet for satisfying the computing needs of the users. Cloud computing services, for example, provide common business applications online that are accessed from a web browser, while the software and data are stored on the physical servers.